Electronic design automation (EDA) is a category of software tools for designing electronic systems, such as printed circuit boards and integrated circuits. The tools work together in a design flow that chip designers use to design and analyze entire semiconductor chips. EDA is also referred to as electronic computer-aided design (ECAD).
For such EDA, we concern ourselves here with the PCB design flow rather than integrated circuits. Known printed circuit board (PCB) design flow typically consists of two major steps: (1) schematic capture and (2) PCB layout.
Schematic capture refers to “drawing the schematic.” Integrated circuits, connectors, discrete components, and other components are represented by symbols and are interconnected via wires or conductive traces on the PCB. The schematic describes the connectivity between parts, and not physical attributes (e.g., not part placement or wire lengths). FIG. 2A shows an example of a symbol for a commercially available integrated circuit or “chip” labeled as U8, which may be used on a printed circuit board and connected to other chips on the PCB.
PCB layout refers to “drawing the printed circuit board.” In this process, the component's physical location on the PCB is specified and the wires (i.e., the location of conductive copper or metal traces) are placed. Each part is represented by its footprint, which describes where copper (conductive metal) needs to be positioned so that the part can be soldered to the PCB. This copper can be in the form of “pads,” and may include drill locations or “holes” to be drilled in the PCB. FIG. 2B shows an example of the part labeled as U8 and the associated trace wiring.
At a minimum, each symbol requires the following information:                (1) Pin numbers (e.g., the symbol in FIG. 2A has pins numbered 1-28)        (2) Pin names (e.g., C1+, C1−, T1IN, T2IN, etc.), and        (3) Mapping between pin numbers and pin names.        
At a minimum, each footprint needs:                (1) Pad locations (i.e., where copper traces should be located for connection to the corresponding pins, including position, orientation, and size.)        (2) Pin numbers.        (3) Mapping between pad locations and pin numbers.        
The symbol and footprint are often packaged together in a parts library. Note that the pin number is shared between the symbol and the footprint. This allows the schematic capture and PCB layout software to coordinate and verify that the copper trace connections on the PCB match the wire connections on the schematic.
In addition to schematic capture and PCB layout software, EDA packages often include library editors. These commercially available programs facilitate the manual entry of symbols and footprints. Technicians or “librarians,” create symbols and footprint (see FIGS. 3 and 4), typically using the part's corresponding PDF datasheets. Some EDA parts are available from the manufacturers, but more often, such parts must be manually created from the manufacturer's datasheets. This manual creation process is time consuming, labor-intensive, costly, and frequently error-prone.